/**
 * [Sign](https://en.wikipedia.org/wiki/Sign_function) 是一个函数，
 * 用于提取实数的符号
 *
 * @param {number} x 输入值
 * @returns {number} 符号值，可能是 1、0 或 -1
 * @throws {TypeError} 如果输入参数 x 不是数字
 * @private
 *
 * @example
 * sign(2); // => 1
 */
function sign(x) {
    if (typeof x === "number") {
        if (x < 0) {
            return -1;
        } else if (x === 0) {
            return 0;
        } else {
            return 1;
        }
    } else {
        throw new TypeError("not a number");
    }
}

export default sign;
